package com.yupi.springbootinit.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 磨床使用过程记录表
 */
@Data
@TableName("grinding_record")
public class GrindingRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 使用日期
     */
    @TableField("usage_date")
    private LocalDate usageDate;

    /**
     * 工艺单号
     */
    @TableField("process_sheet_no")
    private String processSheetNo;

    /**
     * 机台号
     */
    @TableField("machine_no")
    private String machineNo;

    /**
     * 产品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 完成时间
     */
    @TableField("finish_time")
    private LocalDateTime finishTime;

    /**
     * 基板编号
     */
    @TableField("substrate_no")
    private String substrateNo;

    /**
     * 基板材质
     */
    @TableField("substrate_material")
    private String substrateMaterial;

    /**
     * 基板重量(g) - 磨前
     */
    @TableField("substrate_weight_before")
    private BigDecimal substrateWeightBefore;

    /**
     * 磨后基板重量(g)
     */
    @TableField("substrate_weight_after")
    private BigDecimal substrateWeightAfter;

    /**
     * 磨削损耗(g)
     */
    @TableField("grinding_loss")
    private BigDecimal grindingLoss;

    /**
     * 操作人
     */
    @TableField("operator")
    private String operator;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 创建时间（数据库自动填充）
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 更新时间（数据库自动填充）
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 是否删除(逻辑删除)
     */
    @TableLogic
    @TableField("is_deleted")
    private Integer isDelete;
}